大二计算机学生报告的汇总
进入计算机专业以来每天的必要工作就是写报告,按照老师的话来说,我们计算机专业的学生经过长时间的训练,以后出去写代码就跟喝水一样简单.在这里我将发表部分我写的报告,仅以此怀念我的大二时光.(报告写的不好.仅供欣赏)
报告汇总之c语言数据结构报告篇(一)
学生信息管理系统
代码区
代码说明:此代码所运用的软件是ios系统的x-code
#include
#include
#include
int sum;
//创建一个学生的信息结构体
typedef struct student{
long id;
char name[64];
float grade;
}s;
//定义顺序表
typedef struct {
s* student;
int length;
}SqList;
//构造空顺序表
int CreatStudent(SqList*L){
L->student=(s*)malloc(sizeof(s));
if (L->student==NULL)
return 0;
else
{
L->length=0;
return 1;
}
}
//录入基础学生信息和需要插入的学生信息
void GetStudent(SqList*L,int i){
printf("请输入学生的学号:");
scanf("%ld",&L->student[i].id);
printf("请输入学生的姓名:");
scanf("%s",L->student[i].name);
printf("请输入学生的成绩:");
scanf("%f",&L->student[i].grade);
L->length++;
}
void jiaohuan(SqList*L,int i);
//打印学生信息
void PrintStudent(SqList*L,int i)
{
printf("%ld\n%s\n%.3f\n\n",L->student[i].id,L->student[i].name,L->student[i].grade);
}
//查找指定的学生信息
void FindStudent (SqList*L)
{
int n;
printf("请输入查找方式:\n0=学号查找\n1=存储位置查找");//查找方式的选择
scanf("%d",&n);
printf("请输入需要查找学生的信息:");
switch (n) {
case 0:
{
long number;//输入需要查找的学生学号
scanf("%ld",&number);
for (int i=0;ilength;i++)
{
if (number==L->student[i].id)
PrintStudent(L,i);//打印出查找到的学神信息
}
break;
}
case 1:
{
int number;
scanf("%d",&number);//输入需要查找的学生位置
PrintStudent(L,number-1);
break;
}
default:
printf("您输入的查找方式有误请确认后再操作");
break;
}
}
//删除指定的学生信息
void DeletStudent (SqList*L,int i)
{
if(isum)
printf("输入信息有误");
else
{
for (int m=i-1;mstudent[m]=L->student[m+1];
}
//删除
sum--;
L->length--;
}
}
//更新表中的学生信息
void ReGetStudent (SqList*L)
{
int p;
printf("请输入需要更新的位置:");
scanf("%d",&p);
GetStudent(L, p-1);
}
void charu(SqList* L)
{
printf("请输入需要插入的位置:");
int p;
scanf("%d",&p);
GetStudent(L, sum);
sum++;
for (int i=sum-1;i>p-1;i--)
jiaohuan(L,i);
}
void jiaohuan(SqList*L,int i)
{
long a;
a=L->student[i-1].id;
L->student[i-1].id=L->student[i].id;
L->student[i].id=a;
char b[64];
strcpy(b, L->student[i-1].name);
strcpy(L->student[i-1].name,L->student[i].name);
strcpy(L->student[i].name, b);
float c;
c=L->student[i-1].grade;
L->student[i-1].grade=L->student[i].grade;
L->student[i].grade=c;
}
void paixu (SqList*L)
{
printf("请输入排序的要求:0代表学号;1代表成绩");
int m;
scanf("%d",&m);
switch (m) {
case 0:
while (1)
{
int f=0,q=0;
f=q;
for (int i=0;istudent[i].id>L->student[i+1].id)
{
jiaohuan(L, i+1);
f=1;
}
else f=0;
if (f==0)
break;
}
break;
case 1:
while (1)
{
int f=0,q=0;
f=q;
for (int i=0;istudent[i].grade>L->student[i+1].grade)
{
jiaohuan(L, i+1);
f++;
}
if (f==q)
break;
}
break;
}
}
void qingkong (SqList*L)
{
L->length=0;sum=0;
printf("所有数据已经清空");
}
int main()
{
SqList *text=(SqList*)malloc(sizeof(SqList)*10000);
//为text划分存储空间
CreatStudent(text);
printf("共有多少名学生:");
//录入基础有多少学生
scanf("%d",&sum);
text->length=0;
for (int i=0;i |